package com.pdfbox.sample.quickstart;

import java.io.File;
import java.io.IOException;

import org.apache.pdfbox.Loader;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;

public class _10InsertImage {

  public static void main (String args[]) throws IOException {
    String existFileName = "E:/PdfBox_Examples/add_page.pdf";
    String existImgName = "E:/PdfBox_Examples/logo.png";
    String exportFileName = "E:/PdfBox_Examples/周报_add_png.pdf";

    // 第1步:加载现有PDF文档
    File file = new File(existFileName);
//    PDDocument doc = PDDocument.load(file);
    PDDocument doc = Loader.loadPDF(file);

    // 第2步:检索页面
    PDPage my_page = new PDPage();
    doc.addPage(my_page);
    PDPage page = doc.getPage(1);

    // 第3步:创建PDImageXObject对象
    PDImageXObject pdImage = PDImageXObject.createFromFile(existImgName, doc);

    // 第4步:准备内容流
    PDPageContentStream contents = new PDPageContentStream(doc, page);

    // 第5步:在PDF文档中绘制图像
    contents.drawImage(pdImage, 70, 250);
    System.out.println("Image inserted");

    // 第6步:关闭PDPageContentStream
    contents.close();

    // 第7步:保存文档
    doc.save(exportFileName);

    // 第8步:关闭文档
    doc.close();

    System.out.println("export " + exportFileName + " success");
  }

}
